ซอฟต์แวร์ โอเพนซอร์ส
ซอฟต์แวร์ โอเพนซอร์ส
คำว่าซอฟต์แวร์โอเพนซอร์สมาจากคำว่า “ ซอฟต์แวร์เสรี ( Free Software) ” ซึ่งนิยามโดยริชาร์ด เอ็ม สตอลแมน (Richard M.Stallman) ผู้ก่อตั้ง “ องค์กรซอฟต์แวร์เสรี ” (Free Software Foundation : FSF )
มีนักพัฒนากลุ่มหนึ่งจึงคิดนิยามคำว่า “ซอฟต์แวร์ โอเพนซอร์ส” ขึ้นมาเพื่อเปิดโอกาสให้นักพัฒนาที่สนใจ สามารถนำไปพัฒนาต่อยอดในเชิงธุรกิจได้ แต่ยังคงแนวความคิดของซอฟต์เสรีเข้าไว้ด้วย สำหรับคุณสมบัติของซอฟต์แวร์โอเพนซอร์สมีดังต่อไปนี้
1.เผยแพร่ได้อย่างเสรี
สัญญานั้นจะต้องไม่จำกัดบุคคลใดไม่ให้ขายหรือแจกซอฟต์แวร์ ในฐานะเป็นองค์ประกอบหนึ่งในสื่อในการรวบรวมเผยแพร่ที่ประกอบด้วยโปรแกรมจากแหล่งต่าง ๆ สัญญานั้นต้องไม่คิดค่าธรรมเนียมหรือค่าอื่นใดในการจัดจำหน่ายดังกล่าว
2.ซอร์สโคด
โปรแกรมนั้นจะต้องประกอบด้วยซอร์สโคด และจะต้องอนุญาตให้เผยแพร่โปรแกรมต่อไปในรูปแบบซอร์สโคดด้วย นอกเหนือไปจากรูปแบบที่คอมไพล์แล้ว ในกรณีที่ผลิตภัณฑ์ในบางลักษณะไม่ได้เผยแพร่ไปพร้อมด้วยซอร์สโคด จะต้องมีวิถีทางที่เป็นที่รู้จักกันดีที่จะดาวน์โหลดซอร์สโคดนั้นได้โดยไม่คิดราคาผ่านทางอินเทอร์เน็ต ซอร์สโคดนั้นจะต้องเป็นรูปแบบที่สะดวกที่สุดสำหรับโปรแกรมเมอร์ที่จะดัดแปลงแก้ไขโปรแกรมนั้น ซอร์สโคดที่ถูกทำให้อ่านไม่รู้เรื่องอย่างตั้งใจถือว่าใช้ไม่ได้ ซอร์สในรูปแบบระหว่างการคอมไพล์เช่นที่ออกมาจาก preprocessor หรือ translator ถือว่าใช้ไม่ได้
3.งานดัดแปลง
สัญญานั้นจะต้องอนุญาตให้ทำการแก้ไขหรือสร้างสรรค์งานดัดแปลงได้ และจะต้องอนุญาตให้เผยแพร่งานเหล่านั้นด้วยเงื่อนไขเดียวกันกับสัญญาของซอฟต์แวร์ต้นฉบับ
4.การคงความสมบูรณ์ในซอร์สโคดของผู้เขียน
สัญญานั้นจะจำกัดไม่ให้เผยแพร่ซอร์สโคดที่ถูกแก้ไขได้ก็ต่อเมื่อสัญญาอนุญาตให้เผยแพร่ patch file ไปกับซอร์สโคด เพื่อใช้ในการแก้ไขโปรแกรมขณะคอมไพล์ สัญญาจะต้องระบุอย่างชัดเจนว่าอนุญาตให้เผยแพร่ซอฟต์แวร์ที่คอมไพล์มาจากซอร์สโคดที่ถูกแก้ไข สัญญาอาจจะตั้งเงื่อนไขให้งานดัดแปลงต้องใช้ชื่อหรือเลขเวอร์ชันที่ต่างออกไปจากซอฟต์แวร์ต้นฉบับ
5.ไม่เลือกปฏิบัติเพื่อกีดกันบุคคลหรือกลุ่มใดๆ
สัญญานั้นจะต้องไม่จงใจแบ่งแยกเพื่อละเว้นการคุ้มครองสิทธิต่อบุคคลหรือกลุ่มบุคคลใดๆ
6.ไม่เลือกปฏิบัติเพื่อกีดกันกิจการในสาขาใดๆ
สัญญานั้นจะต้องไม่จำกัดผู้ใดไม่ให้ใช้งานโปรแกรมในกิจการหรือกิจกรรมจำเพาะสาขาใดสาขาหนึ่ง ตัวอย่างเช่น สัญญาต้องไม่ห้ามใช้โปรแกรมในทางธุรกิจหรือในทางการวิจัย
7.การเผยแพร่ของสัญญา
สิทธิที่พ่วงไปกับโปรแกรมจะต้องใช้กับทุกคนที่ได้รับโปรแกรมนั้น โดยไม่จำเป็นต้องอาศัยการดำเนินการสัญญาเพิ่มเติมจากบุคคลใด
8.สัญญาต้องไม่เจาะจงจำเพาะผลิตภัณฑ์อันใดอันหนึ่ง
สิทธิที่พ่วงไปกับโปรแกรมจะต้องไม่ขึ้นอยู่กับการที่โปรแกรมเป็นส่วนหนึ่งของการเผยแพร่ซอฟต์แวร์เป็นผลิตภัณฑ์ใดเป็นพิเศษ ถ้ามีการเลือกเฉพาะโปรแกรมนั้นออกมาและนำไปใช้หรือจำหน่ายจ่ายแจกโดยอาศัยเงื่อนไขตามสัญญาของโปรแกรมนั้น ทุกคนที่ได้รับโปรแกรมจะต้องได้รับสิทธิเดียวกันกับที่ได้มอบมาพร้อมกับการเผยแพร่ซอฟต์แวร์แต่เดิม
9.สัญญาจะต้องไม่ผูกพันไปถึงซอฟต์แวร์อื่นในสื่อเดียวกัน
สัญญานั้นจะต้องไม่ตั้งเงื่อนไขควบคุมซอฟต์แวร์อื่นที่เผยแพร่ไปพร้อมกับซอฟต์แวร์ที่ใช้สัญญานั้น ตัวอย่างเช่น สัญญาจะต้องไม่ยืนกรานที่จะให้โปรแกรมอื่นที่เผยแพร่ไปในสื่อเดียวกันต้องเป็นซอฟต์แวร์โอเพนซอร์สเหมือนกัน
* ระบบปฏิบัติการ (operating system)
* ภาษาคอมพิวเตอร์ และ ตัวแปรภาษา